Traditionally, contact centers are referred to as call centers and designed to enable a company to handle calls from their clients. The calls received from the clients may be distributed to multiple call agents according to certain call distribution and handling methodologies. Ideally, a call center is designed to handle calls with minimal client waiting time, minimal dropped calls, even call distribution to agents, and minimal downtime. Any drastic fluctuations in one or more of these criteria may result in loss of business and/or customer dissatisfaction.
The call centers are normally configured to be operated on-premise using proprietary systems with propriety hardware and software. These on-premise call center systems are generally very costly to maintain. The systems typically require internal support staff. Furthermore, the systems may be inflexible in the type of applications and hardware that can be supported, limiting the company's ability to upgrade and grow along with any potential increase in demand. Even when the upgrade options are available, they tend to be very costly and may require replacing a current system with another more advanced system, causing further stress to the supporting staff, the agents and the clients. Further, as the number of on-premise call center systems installation increases, support requirements on the manufacturers of these on-premise call center systems may also increase.